/*
** Copyright (c) K-Marrade
** All rights reserved.
**
** idt.h : idt stuff.
**
** Use with caution.
**
*/

typedef struct
{
  int offset:16;
  int segment_selector:16;
  char unused:5;
  char empty:3;
  int size:5;
  char dpl:2;
  char p:1;
  int offset_high:16;
} __attribute__ ((packed)) t_interrupt_gate;

typedef struct
{
    int limit:16;
    t_uint32 idt:32;
} __attribute__ ((packed)) t_idtr;

void idt_init(void);
void idt_clear(void);
